package se.webbzon.boltzmann.game.character;

import se.webbzon.oschi01.friendly.Friendly;
import se.webbzon.oschi01.resourceset.ResourceSet;
import se.webbzon.oschi01.textureset.Texture3D;

@Friendly class LoadedCharacterAction extends AbstractCharacterAction {
	
	// The texture sets associated with this action
	private ResourceSet<Texture3D> leftUp, leftDown, rightUp, rightDown;
	
	// The texture speed of this action
	private double textureSpeed;
	
	/*============================================================
	Public Methods
	============================================================*/
	
	/** Sets the texture set used when the character is facing upwards and left. **/
	public void setLeftUp(ResourceSet<Texture3D> textureSet) {
		leftUp = textureSet;
	}
	
	/** Sets the texture set used when the character is facing downwards and left. **/
	public void setLeftDown(ResourceSet<Texture3D> textureSet) {
		leftDown = textureSet;
	}
	
	/** Sets the texture set used when the character is facing upwards and right. **/
	public void setRightUp(ResourceSet<Texture3D> textureSet) {
		rightUp = textureSet;
	}
	
	/** Sets the texture set used when the character is facing downwards and right. **/
	public void setRightDown(ResourceSet<Texture3D> textureSet) {
		rightDown = textureSet;
	}
	
	/** Sets the speed of the texture used for this action. **/
	public void setTextureSpeed(double textureSpeed) {
		this.textureSpeed = textureSpeed;
	}

	@Override public ResourceSet<Texture3D> getLeftUp() {
		return leftUp;
	}

	@Override public ResourceSet<Texture3D> getLeftDown() {
		return leftDown;
	}

	@Override public ResourceSet<Texture3D> getRightUp() {
		return rightUp;
	}

	@Override public ResourceSet<Texture3D> getRightDown() {
		return rightDown;
	}

	@Override public double getTextureSpeed() {
		return textureSpeed;
	}
	
	

}
